// pages/detail/detail.js
import {add, get, getOne,inc,incLike} from "../../until/db"
Page({
  /**
   * 页面的初始数据
   */
  data:{
      detail:{},
      imgs:[],
      id:"",
      isLike:false,
      allow:true,			//关注的操作：true 允许操作；false 不允许
  },
  async onLoad(e){
    // console.log(e);  
    this.data.id = e.id
    var name = e.name
    // console.log(name);
    wx.setNavigationBarTitle({
      title: name,
    })
    var result = await inc("menu",this.data.id,1).catch(err=>{console.log(err)})
    // console.log(e);
    let res = await getOne("menu",this.data.id)
    var detail = res.data
    var imgs = res.data.image
    this.setData({
      detail,
      imgs
    })

    var openid = wx.getStorageSync("openid");
    var menuId = this.data.id
    var result = await get("likes",{_openid:openid,menuId:menuId});
    // console.log(result);
    if(result.data.length>0){
      //已关注
      this.setData({
        isLike:true
      })
    }else{
      //未关注
      this.setData({
        isLike:false
      })
    }
  },

  //添加关注
  async addLike(){
    //如果allow为false，不允许点击
    if(!this.data.allow){
      return;
    }
    this.data.allow=false;//不允许再点击
    var result = await add("likes",{menuId:this.data.id}).catch(err=>{console.log(err);})
    // console.log(result);  
    var result = await incLike("menu",this.data.id).catch(err=>{console.log(err);})
    // console.log(result);
    this.data.allow = true;   //允许点击
    //3.更改页面数据
    this.data.detail.likes+=1;
    this.setData({
      isLike:true,
      detail:this.data.detail
    })
  },
  //取消关注
  cancleLike(){
    //如果allow为false，不允许点击
		if(!this.data.allow){
			return;
    }
    this.data.allow=false;		//不允许点击
    //通过云函数删除likes中的记录
    var openid = wx.getStorageSync('openid');
    // console.log(openid);
    var ids = this.data.id
    // console.log(ids);  
    wx.cloud.callFunction({
      name:'cancelLike',
      data:{
        openid:openid,
        menuId:ids
      }
    })
    .then(async res=>{
      //menu中likes减1
      var result = await incLike("menu",ids,-1).catch(err=>console.log(err))
      // console.log(result);
      this.data.allow=true;		//允许点击
      //页面减少
      this.data.detail.likes-=1;
      this.setData({
        detail:this.data.detail,
        isLike:false
      })
    })
    .catch(err=>{
      console.log(err);
    })
  },
//全屏预览图片，在手机端可放大
  previewImage(e){
    var url = e.currentTarget.dataset.url
    wx.previewImage({
      urls: this.data.imgs,
      current:url
    })
  }
})